package com.car.service;

import com.alipay.api.AlipayApiException;
import com.car.entity.Carrentalorderform;
import com.car.entity.Detailedlistofrentalcharges;
import com.car.page.Page;
import com.car.vo.CarrentalorderformVo;
import com.car.vo.DetailedlistofrentalchargesVo;
import com.car.vo.VehiclemotioncarVo;
import com.car.vo.orderVo;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.ibatis.annotations.Param;

public interface CarrentalorderformService {
    int deleteByPrimaryKey(Integer orderId);

    int insert(Carrentalorderform record,VehiclemotioncarVo veh,Detailedlistofrentalcharges detailedlistofrentalcharges);

    Carrentalorderform selectByPrimaryKey(Integer orderId);

    List<Carrentalorderform> selectAll();

    int updateByPrimaryKey(Carrentalorderform record);
    
    Page<CarrentalorderformVo> selectAllbyuserId(Integer userId,Integer orderState,Integer pageNo, Integer pageSize);
    Page<CarrentalorderformVo> selectAllbyuserIdTwo(Integer userId,Integer orderState,Integer pageNo, Integer pageSize);
    
    int selectAllbyuserIdToCount(Integer userId,Integer orderState);
    
    int selectAllbyuserIdToCountShun(Integer userId,Integer orderState);
    
    CarrentalorderformVo selectAllToInfos(String orderId,Integer i);
    
    int updOrderState(String orderState, String orderId);
    
    void ali(HttpServletResponse response, HttpServletRequest request,String orderId,Integer money)throws AlipayApiException, IOException;
    
    Carrentalorderform selectByOrderIdTolistener(String orderId);

	int addOrder(orderVo orderbo, DetailedlistofrentalchargesVo detaillist, CarrentalorderformVo order);
    
    List<Carrentalorderform> selectAlls();
    
    int selectCount();
    
    Page<Carrentalorderform>  selectOderPageList(int pageNo,int pageSize);
    
    Carrentalorderform selectOderId(String orderId);
    
    int updateOrderState(String orderId,String limitTheTotalMileage);
    
    int shunfengOrderCount();
    
    Page<Carrentalorderform> shenfengPageLsit(@Param("pageNo")int pageNo,@Param("pageSize")int pageSize);
    
    Carrentalorderform shunfengSelectOrderId(String orderId);
    Carrentalorderform selectOrderIdcha(String id);
    
    Carrentalorderform shunfengOrderIdcha(String id);

Page<Carrentalorderform> xingCheng(Integer carId,Integer start,Integer pageNo, Integer pageSize);

}